<?php
/*
 * @ https://EasyToYou.eu - IonCube v11 Decoder Online
 * @ PHP 7.2 & 7.3
 * @ Decoder version: 1.1.6
 * @ Release: 10/08/2022
 */

// Decoded file for php version 71.
class PHPExcel_Chart_GridLines extends PHPExcel_Chart_Properties
{
    private $objectState = false;
    private $lineProperties;
    private $shadowProperties;
    private $glowProperties;
    private $softEdges = ["size" => NULL];
    public function getObjectState()
    {
        return $this->objectState;
    }
    private function activateObject()
    {
        $this->objectState = true;
        return $this;
    }
    public function setLineColorProperties($value, $alpha = 0, $type = self::EXCEL_COLOR_TYPE_STANDARD)
    {
        $this->activateObject()->lineProperties["color"] = $this->setColorProperties($value, $alpha, $type);
    }
    public function setLineStyleProperties($line_width = NULL, $compound_type = NULL, $dash_type = NULL, $cap_type = NULL, $join_type = NULL, $head_arrow_type = NULL, $head_arrow_size = NULL, $end_arrow_type = NULL, $end_arrow_size = NULL)
    {
        $this->activateObject();
        is_null($line_width);
        !is_null($line_width) ? $this->lineProperties["style"]["width"] : NULL;
        is_null($compound_type);
        !is_null($compound_type) ? $this->lineProperties["style"]["compound"] : NULL;
        is_null($dash_type);
        !is_null($dash_type) ? $this->lineProperties["style"]["dash"] : NULL;
        is_null($cap_type);
        !is_null($cap_type) ? $this->lineProperties["style"]["cap"] : NULL;
        is_null($join_type);
        !is_null($join_type) ? $this->lineProperties["style"]["join"] : NULL;
        is_null($head_arrow_type);
        !is_null($head_arrow_type) ? $this->lineProperties["style"]["arrow"]["head"]["type"] : NULL;
        is_null($head_arrow_size);
        !is_null($head_arrow_size) ? $this->lineProperties["style"]["arrow"]["head"]["size"] : NULL;
        is_null($end_arrow_type);
        !is_null($end_arrow_type) ? $this->lineProperties["style"]["arrow"]["end"]["type"] : NULL;
        is_null($end_arrow_size);
        !is_null($end_arrow_size) ? $this->lineProperties["style"]["arrow"]["end"]["size"] : NULL;
    }
    public function getLineColorProperty($parameter)
    {
        return $this->lineProperties["color"][$parameter];
    }
    public function getLineStyleProperty($elements)
    {
        return $this->getArrayElementsValue($this->lineProperties["style"], $elements);
    }
    public function setGlowProperties($size, $color_value = NULL, $color_alpha = NULL, $color_type = NULL)
    {
        $this->activateObject()->setGlowSize($size)->setGlowColor($color_value, $color_alpha, $color_type);
    }
    public function getGlowColor($property)
    {
        return $this->glowProperties["color"][$property];
    }
    public function getGlowSize()
    {
        return $this->glowProperties["size"];
    }
    private function setGlowSize($size)
    {
        $this->glowProperties["size"] = $this->getExcelPointsWidth((double) $size);
        return $this;
    }
    private function setGlowColor($color, $alpha, $type)
    {
        if(!is_null($color)) {
            $this->glowProperties["color"]["value"] = (string) $color;
        }
        if(!is_null($alpha)) {
            $this->glowProperties["color"]["alpha"] = $this->getTrueAlpha((int) $alpha);
        }
        if(!is_null($type)) {
            $this->glowProperties["color"]["type"] = (string) $type;
        }
        return $this;
    }
    public function getLineStyleArrowParameters($arrow_selector, $property_selector)
    {
        return $this->getLineStyleArrowSize($this->lineProperties["style"]["arrow"][$arrow_selector]["size"], $property_selector);
    }
    public function setShadowProperties($sh_presets, $sh_color_value = NULL, $sh_color_type = NULL, $sh_color_alpha = NULL, $sh_blur = NULL, $sh_angle = NULL, $sh_distance = NULL)
    {
        $this->activateObject()->setShadowPresetsProperties((int) $sh_presets)->setShadowColor(is_null($sh_color_value) ? $this->shadowProperties["color"]["value"] : $sh_color_value, is_null($sh_color_alpha) ? (int) $this->shadowProperties["color"]["alpha"] : $this->getTrueAlpha($sh_color_alpha), is_null($sh_color_type) ? $this->shadowProperties["color"]["type"] : $sh_color_type)->setShadowBlur($sh_blur)->setShadowAngle($sh_angle)->setShadowDistance($sh_distance);
    }
    private function setShadowPresetsProperties($shadow_presets)
    {
        $this->shadowProperties["presets"] = $shadow_presets;
        $this->setShadowProperiesMapValues($this->getShadowPresetsMap($shadow_presets));
        return $this;
    }
    private function setShadowProperiesMapValues(array $properties_map, &$reference = NULL)
    {
        $base_reference = $reference;
        foreach ($properties_map as $property_key => $property_val) {
            if(is_array($property_val)) {
                if($reference === NULL) {
                    $reference =& $this->shadowProperties[$property_key];
                } else {
                    $reference =& $reference[$property_key];
                }
                $this->setShadowProperiesMapValues($property_val, $reference);
            } elseif($base_reference === NULL) {
                $this->shadowProperties[$property_key] = $property_val;
            } else {
                $reference[$property_key] = $property_val;
            }
        }
        return $this;
    }
    private function setShadowColor($color, $alpha, $type)
    {
        if(!is_null($color)) {
            $this->shadowProperties["color"]["value"] = (string) $color;
        }
        if(!is_null($alpha)) {
            $this->shadowProperties["color"]["alpha"] = $this->getTrueAlpha((int) $alpha);
        }
        if(!is_null($type)) {
            $this->shadowProperties["color"]["type"] = (string) $type;
        }
        return $this;
    }
    private function setShadowBlur($blur)
    {
        if($blur !== NULL) {
            $this->shadowProperties["blur"] = (string) $this->getExcelPointsWidth($blur);
        }
        return $this;
    }
    private function setShadowAngle($angle)
    {
        if($angle !== NULL) {
            $this->shadowProperties["direction"] = (string) $this->getExcelPointsAngle($angle);
        }
        return $this;
    }
    private function setShadowDistance($distance)
    {
        if($distance !== NULL) {
            $this->shadowProperties["distance"] = (string) $this->getExcelPointsWidth($distance);
        }
        return $this;
    }
    public function getShadowProperty($elements)
    {
        return $this->getArrayElementsValue($this->shadowProperties, $elements);
    }
    public function setSoftEdgesSize($size)
    {
        if(!is_null($size)) {
            $this->activateObject();
            $softEdges["size"] = (string) $this->getExcelPointsWidth($size);
        }
    }
    public function getSoftEdgesSize()
    {
        return $this->softEdges["size"];
    }
}

?>